package com.ruoyi.system.domain.zhuangxiumain.orderformMain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.system.domain.zhuangxiumain.shopMain.ProductCategory;
import com.ruoyi.system.domain.zhuangxiumain.shopMain.ProductInfo;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

import java.util.Date;
import java.util.List;

/**
 * 售后管理对象 order_after_sale
 * 
 * @author 张少丛
 * @date 2020-11-05
 */
public class OrderAfterSale extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long afterSaleId;

    /** 订单表ID */
    @Excel(name = "订单表ID")
    private Long orderMasterId;

    /** 用户表ID */
    @Excel(name = "用户表ID")
    private Long customerId;

    /** 商品ID */
    @Excel(name = "商品ID")
    private Long productInfoId;

    /** 退货原因 */
    @Excel(name = "退货原因")
    private String reason;

    /** 退款金额 */
    @Excel(name = "退款金额")
    private Long afterSaleMoney;

    /** 退货说明 */
    @Excel(name = "退货说明")
    private String afterSaleExplain;

    /** 退货凭证 */
    @Excel(name = "退货凭证")
    private String afterSaleVoucher;

    /** 退货状态:0表示正在退款,1表示已退款,2表示退款失败 */
    @Excel(name = "退货状态:0表示正在退款,1表示已退款,2表示退款失败")
    private String afterSaleState;

    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "退款时间")
    private Date afterSaleTime;

    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "最后修改时间")
    private Date modifiedTime;

    /** 订单 */
    private OrderMaster orderMaster;

    /** 商品 */
    private ProductInfo productInfo;

    private List<Long> productInfoIds;

    public void setAfterSaleId(Long afterSaleId) 
    {
        this.afterSaleId = afterSaleId;
    }

    public Long getAfterSaleId() 
    {
        return afterSaleId;
    }
    public void setOrderMasterId(Long orderMasterId) 
    {
        this.orderMasterId = orderMasterId;
    }

    public Long getOrderMasterId() 
    {
        return orderMasterId;
    }
    public void setCustomerId(Long customerId) 
    {
        this.customerId = customerId;
    }

    public Long getCustomerId() 
    {
        return customerId;
    }
    public void setProductInfoId(Long productInfoId) 
    {
        this.productInfoId = productInfoId;
    }

    public Long getProductInfoId() 
    {
        return productInfoId;
    }
    public void setReason(String reason) 
    {
        this.reason = reason;
    }

    public String getReason() 
    {
        return reason;
    }
    public void setAfterSaleMoney(Long afterSaleMoney) 
    {
        this.afterSaleMoney = afterSaleMoney;
    }

    public Long getAfterSaleMoney() 
    {
        return afterSaleMoney;
    }
    public void setAfterSaleExplain(String afterSaleExplain) 
    {
        this.afterSaleExplain = afterSaleExplain;
    }

    public String getAfterSaleExplain() 
    {
        return afterSaleExplain;
    }
    public void setAfterSaleVoucher(String afterSaleVoucher) 
    {
        this.afterSaleVoucher = afterSaleVoucher;
    }

    public String getAfterSaleVoucher() 
    {
        return afterSaleVoucher;
    }
    public void setAfterSaleState(String afterSaleState) 
    {
        this.afterSaleState = afterSaleState;
    }

    public String getAfterSaleState() 
    {
        return afterSaleState;
    }

    public OrderMaster getOrderMaster() {
        return orderMaster;
    }

    public void setOrderMaster(OrderMaster orderMaster) {
        this.orderMaster = orderMaster;
    }

    public ProductInfo getProductInfo() {
        return productInfo;
    }

    public void setProductInfo(ProductInfo productInfo) {
        this.productInfo = productInfo;
    }

    public Date getAfterSaleTime() {
        return afterSaleTime;
    }

    public void setAfterSaleTime(Date afterSaleTime) {
        this.afterSaleTime = afterSaleTime;
    }

    public Date getModifiedTime() {
        return modifiedTime;
    }

    public void setModifiedTime(Date modifiedTime) {
        this.modifiedTime = modifiedTime;
    }

    public List<Long> getProductInfoIds() {
        return productInfoIds;
    }

    public void setProductInfoIds(List<Long> productInfoIds) {
        this.productInfoIds = productInfoIds;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("afterSaleId", getAfterSaleId())
            .append("orderMasterId", getOrderMasterId())
            .append("customerId", getCustomerId())
            .append("productInfoId", getProductInfoId())
            .append("reason", getReason())
            .append("afterSaleMoney", getAfterSaleMoney())
            .append("afterSaleExplain", getAfterSaleExplain())
            .append("afterSaleVoucher", getAfterSaleVoucher())
            .append("afterSaleState", getAfterSaleState())
                .append("productInfo", getProductInfo())
            .toString();
    }
}
